package part15;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author wcj
 * @Date 2021/5/29 16:52
 * @Version 1.0
 */
public class Part1510 {

    /**
     * 泛型和生成器结合使用，正好泛型可以标识任意类型，而生成器可以在不传递参数的情况下生成各种类型的对象
     *
     * @param coll
     * @param gen
     * @param n
     * @param <T>
     * @return
     */
    public static <T> Collection<T> fill(Collection<T> coll, Generator<T> gen, int n) {
        for (int i = 0; i < n; i++) {
            coll.add(gen.next());
        }
        return coll;
    }

    public static void main(String[] args) {
        Collection<Coffee> fill = fill(new ArrayList<Coffee>(), new Part156(), 4);
        for (Coffee coffee : fill) {
            System.out.println(coffee);
        }
    }
}
